//
//  AFFVAlertPublic.h
//  AnyfishApp
//
//  注意：
//  只有公共弹出框定义到这里
//  Created by Bob Lee on 16/6/7.
//  Copyright © 2016年 Anyfish. All rights reserved.
//

#import <UIKit/UIKit.h>

/**
 * 根据弹框不同flag代表意义自己定义
 */
typedef void(^blockResult)(U8 flag, NSObject *obj);

/**
 * UIView实现响应block通知外部，一般用于弹出框等的简单view设计
 */
@interface AFFVAlert : UIView

@property (nonatomic, readonly) blockResult block;    ///< 操作响应

/**
 * 结果反馈，注意自己写弹出框消失代码；操作结构flag自己根据弹框约定如：0=取消关闭弹框；1=确认；2=发送等等
 */
- (void)actionResult:(blockResult)block;

@end


typedef NS_ENUM(U8,EShareType){
    EShare_Normal, ///< 普通类分享
    EShare_Game ///< 游戏类分享
};

typedef NS_ENUM(U8,EShareName){
    EShare_Name_Player = 1, ///< 好友
    EShare_Name_Room, ///< 群
    EShare_Name_Friend, ///< 朋友圈
    EShare_Name_Part, ///< 娱乐圈
    EShare_Name_WX, ///< 微信好友
    EShare_Name_WX_Friend, ///< 微信朋友圈
    EShare_Name_Copy, ///< 微信朋友圈
    EShare_Name_Close ///< 关闭按钮
};

typedef void(^blockShareResult)(EShareName type);

@interface AFFBtnShare : UIView
@property (nonatomic, weak) UILabel *labDes; ///< 文字描述
@property (nonatomic, weak) UIImageView *imgIcon; ///< 图标
@property (nonatomic, weak) UIButton *btnIcon; ///< 按钮

- (instancetype)initWithOrigin:(CGPoint)point isBorder:(BOOL)border;
@end

/**
 * 分享sheet
 */
@interface AFFVSheetShare : AFFVAlert

/**
 分享框
 
 @param arr  1.好友、2.群组、3.朋友圈、4.娱乐圈、5.微信好友、6.微信朋友圈
 @param type 分享图片类型
 
 @return
 */
- (instancetype)initWithArray:(NSArray <NSNumber *>*)arr type:(EShareType)type;

@end

@interface AFFVAlertCount : AFFVAlert

/**
 * 倒\顺计时效果
 * @param  count  起始值
 * @param  isDown  是否倒计时；默认YES
 * @param  max  顺计时的最大值
 
 * @return   结束会block反馈
 */
- (id)initWithCount:(U32)count isDown:(BOOL)isDown max:(U32)max;
- (id)initWithCount:(U32)count;
- (void)startCount;

@end

@interface AFFVAlertContact : AFFVAlert
/**
 *是否上传通讯录
 */

@end

